En esta gráfica de accidentes entre el 2016-2022 de caras de Chernoff podemos observar en un inicio que hay 12 caras, una por cada mes del año. Segundo hay variedad de colores, los cuales representan el día con más accidentes de ese mes. Y por último todas las caras tiene el mismo tamaño, ya que el tamaño lo determina la ruta con más accidentes. Teniendo esto en cuenta, porque tiene el mismo tamaño todas las caras? Pues los datos de análisis indican que a través del intervalo de años entre el 2016-2022 las rutas con más accidentes han sido las cantonales. Es muy interesante que en ese intervalo de años el día que suele tener más accidentes es el viernes, además el Lunes y Sábado sueles tener la misma cantidad de accidentes.

En este gráfico de paste se muestra el porcentaje de los accidentes entre el 2016-2022 por tipo de ruta. Se puede apreciar que el mayor porcentaje de accidentes en el intervalo de años se ha dado en rutas urbana, eso quizá tenga que ver en parte porque hay menos tránsito en rutas rurales. Con lo anterior en cuenta, también puede ser que porque hay menos cantidad de tránsito hayan menos factores psicoemocionales que afecten al momento de conducir.

Entre 2016-2022, la gráfica apilada de barras muestra que las barras están agrupadas por región y apiladas por cantones con mayor número de accidentes. El color indica cuántos accidentes hubieron en cada cantón. En la zona de Costa Rica, donde más accidentes ocurrieron, la región central y el cantón de San José tienen el mayor número de accidentes. Además, los cantones que comparten más accidentes son los más desarrollados urbanamente, mientras que los cantones con menos accidentes son los más pobres o menos desarrollados. Esto se podría deber a que hay menos vehículos en carretera, por la falta de poder adquisitivo.

Esta gráfica muestra el mínimo de accidentes por año, tipo de circulación, estado del clima y son agrupados por la gravedad del accidente. La mayoría de los accidentes curiosamente se dan con buen tiempo, contrariamente a lo que se esperaría que sea más bien en un mal clima como la lluvia. Esto quiere decir que si hay un buen clima los conductores se relajan y no andan lo suficientemente atentos al ambiente. Esto tiene un efecto inmediato con el tipo de circulación, ya que al no tomar la suficiente precaución se terminan accidentando, y estos en su mayoría son de extrema gravedad.

LS0tDQp0aXRsZTogIkFjY2lkZW50ZXMgZGUgdHJhbnNpdG8gZW4gQ1IgZW50cmUgMjAxNi0yMDIyIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmRhdGEgPC0gcmVhZC5jc3YoImFjY2lkZW50ZXNfdHJhbnNpdG9fY29uX3ZpY3RpbWFzXzIwMTZfMjAyMi5jc3YiLCBzZXAgPSAiOyIpDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRSwgd2FybmluZyA9IEZBTFNFfQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShjb2xvcnNwYWNlKQ0KbGlicmFyeSh0cmVlbWFwaWZ5KQ0KYGBgDQoNCmBgYHtyLCBlY2hvPUZBTFNFLCBtZXNzYWdlID0gRkFMU0V9DQojb2J0ZW5lbW9zIGxvcyBtZXNlcywgZGlhcyB5IGxhIHJ1dGEgZG9uZGUNCiNtYXMgYWNjaWRlbnRlcyBoYXkNCm1lc2VzX2RpYXNfUlVfbWFzX2FjY2lkZW50ZXMgPC0gZGF0YSAlPiUNCiAgZmlsdGVyKGdyZXBsKCJeW0EtTF1cXC4uKlxccyhFbmVyb3xGZWJyZXJvfE1hcnpvfEFicmlsfE1heW98SnVuaW98SnVsaW98QWdvc3RvfFNldGllbWJyZXxPY3R1YnJlfE5vdmllbWJyZXxEaWNpZW1icmUpJCIsIE1lcykpICU+JQ0KICBmaWx0ZXIoZ3JlcGwoIl5bMS03XVxcLihEb21pbmdvfEx1bmVzfE1hcnRlc3xNacOpcmNvbGVzfEp1ZXZlc3xWaWVybmVzfFPDoWJhZG8pJCIsIETDrWEpKSAlPiUNCiAgZ3JvdXBfYnkoTWVzLETDrWEsUnV0YSkgJT4lDQogIHN1bW1hcmlzZShNRHRvdGFsX2FjY2lkZW50ZXMgPSBuKCkpICU+JQ0KICBhcnJhbmdlKGRlc2MoTUR0b3RhbF9hY2NpZGVudGVzKSkNCg0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzIDwtIG1lc2VzX2RpYXNfUlVfbWFzX2FjY2lkZW50ZXMgJT4lDQogIGdyb3VwX2J5KE1lcykgJT4lDQogIHNsaWNlKDEpDQogIA0KbnVtZXJvX21lcyA8LSBzZXEoMSwgMTIsIGxlbmd0aC5vdXQgPSBucm93KHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcykpDQpudW1lcm9fbWVzIDwtIGFzLmludGVnZXIobnVtZXJvX21lcykNCnJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyA8LSBjYmluZChyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMsIE51bWVyb01lcyA9IG51bWVyb19tZXMpDQoNCiMgQ3JlYXIgdW5hIGNvbHVtbmEgcGFyYSBlbCBuw7ptZXJvIGRlIGTDrWEgc2Vnw7puIGVsIGTDrWEgZGUgbGEgc2VtYW5hIGVuIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcw0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzJENvbG9yRGlhIDwtaWZlbHNlKHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hID09ICIxLkRvbWluZ28iLCAiYmx1ZSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiMi5MdW5lcyIsICJyZWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocmVnaXN0cm9zX21hc19mcmVjdWVudGVzJETDrWEgPT0gIjMuTWFydGVzIiwgInllbGxvdyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiNC5NacOpcmNvbGVzIiwgImN5YW4iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UocmVnaXN0cm9zX21hc19mcmVjdWVudGVzJETDrWEgPT0gIjUuSnVldmVzIiwgImRhcmtncmVlbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkRMOtYSA9PSAiNi5WaWVybmVzIiwgImJyb3duIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hID09ICI3LlPDoWJhZG8iLCAiYmxhY2siLCBOQSkpKSkpKSkNCg0KcmVnaXN0cm9zX21hc19mcmVjdWVudGVzJGlkUnV0YSA8LWlmZWxzZShyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkUnV0YSA9PSAiQ2FudG9uYWwiLCAxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQpyZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkTWVzIDwtIGdzdWIoIltBLUxdXFwuIiwgIiIsIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyRNZXMpDQoNCnJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hIDwtIGdzdWIoIlsxLTddXFwuIiwgIiIsIHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcyREw61hKQ0KDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmdyYWZpY29fY2hlcm5vZmYgPC0gZ2dwbG90KHJlZ2lzdHJvc19tYXNfZnJlY3VlbnRlcywgYWVzKHggPSBOdW1lcm9NZXMsIHkgPSBpZFJ1dGEsbGFiZWwxID0gTWVzLGxhYmVsMiA9IFJ1dGEsbGFiZWwzID0gRMOtYSkpICsNCiAgZ2VvbV9wb2ludChzaXplID0gOSxjb2xvdXIgPSByZWdpc3Ryb3NfbWFzX2ZyZWN1ZW50ZXMkQ29sb3JEaWEpICsNCiAgbGFicyh4ID0gIk1lcyIseSA9ICJSdXRhIikgKw0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gIvCfkYHvuI8g8J+Rge+4jyIpLHZqdXN0ID0gLTUsIHNpemUgPSAzKSsgIA0KICBnZW9tX3RleHQoYWVzKGxhYmVsID0gIvCfkYQiKSwgdmp1c3QgPSA1LCBzaXplID0gMikgKw0KICB0aGVtZV9idygpDQoNCiMgQ29udmVydGltb3MgZWwgZ3LDoWZpY28gZ2dwbG90MiBlbiB1bm8gaW50ZXJhY3Rpdm8gY29uIHBsb3RseQ0KZ3JhZmljb19pbnRlcmFjdGl2byA8LSBnZ3Bsb3RseShncmFmaWNvX2NoZXJub2ZmLHRvb2x0aXAgPSBjKCJsYWJlbDEiLCAibGFiZWwyIiwgImxhYmVsMyIpKQ0KDQojIE1vc3RyYW1vcyBlbCBncsOhZmljbyBpbnRlcmFjdGl2bw0KZ3JhZmljb19pbnRlcmFjdGl2bw0KDQojIDEyIGNhcmFzIHBvciBsb3MgbWVzZXMsIGNvbG9yIGNhcmEgZGlhcyAuLi4geSB0YW1hbmhvIGNhcmEgcnV0YQ0KYGBgDQpFbiBlc3RhIGdyw6FmaWNhIGRlIGFjY2lkZW50ZXMgZW50cmUgZWwgMjAxNi0yMDIyIGRlIGNhcmFzIGRlIENoZXJub2ZmIHBvZGVtb3Mgb2JzZXJ2YXIgZW4gdW4gaW5pY2lvIHF1ZSBoYXkgMTIgY2FyYXMsIHVuYSBwb3IgY2FkYSBtZXMgZGVsIGHDsW8uIFNlZ3VuZG8gaGF5IHZhcmllZGFkIGRlIGNvbG9yZXMsIGxvcyBjdWFsZXMgcmVwcmVzZW50YW4gZWwgZMOtYSBjb24gbcOhcyBhY2NpZGVudGVzIGRlIGVzZSBtZXMuIFkgcG9yIMO6bHRpbW8gdG9kYXMgbGFzIGNhcmFzIHRpZW5lIGVsIG1pc21vIHRhbWHDsW8sIHlhIHF1ZSBlbCB0YW1hw7FvIGxvIGRldGVybWluYSBsYSBydXRhIGNvbiBtw6FzIGFjY2lkZW50ZXMuIFRlbmllbmRvIGVzdG8gZW4gY3VlbnRhLCBwb3JxdWUgdGllbmUgZWwgbWlzbW8gdGFtYcOxbyB0b2RhcyBsYXMgY2FyYXM/IFB1ZXMgbG9zIGRhdG9zIGRlIGFuw6FsaXNpcyBpbmRpY2FuIHF1ZSBhIHRyYXbDqXMgZGVsIGludGVydmFsbyBkZSBhw7FvcyBlbnRyZSBlbCAyMDE2LTIwMjIgbGFzIHJ1dGFzIGNvbiBtw6FzIGFjY2lkZW50ZXMgaGFuIHNpZG8gbGFzIGNhbnRvbmFsZXMuIEVzIG11eSBpbnRlcmVzYW50ZSBxdWUgZW4gZXNlIGludGVydmFsbyBkZSBhw7FvcyBlbCBkw61hIHF1ZSBzdWVsZSB0ZW5lciBtw6FzIGFjY2lkZW50ZXMgZXMgZWwgdmllcm5lcywgYWRlbcOhcyBlbCBMdW5lcyB5IFPDoWJhZG8gc3VlbGVzIHRlbmVyIGxhIG1pc21hIGNhbnRpZGFkIGRlIGFjY2lkZW50ZXMuDQpgYGB7cixlY2hvPUZBTFNFfQ0KcnVyYWxVcmJhbm9fbWFzX2FjY2lkZW50ZXM8LWRhdGEgJT4lDQogIGdyb3VwX2J5KFJ1cmFsLm8udXJiYW5vKSU+JQ0KICBzdW1tYXJpc2UoUlV0b3RhbF9hY2NpZGVudGVzID0gbigpKSAlPiUNCiAgYXJyYW5nZShkZXNjKFJVdG90YWxfYWNjaWRlbnRlcykpDQojIGRlc2RlIDIwMTYgaGFzdGFzIDIwMjINCmBgYA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KbGFiZWxzID0gcnVyYWxVcmJhbm9fbWFzX2FjY2lkZW50ZXMkUnVyYWwuby51cmJhbm8NCnZhbHVlcyA9IHJ1cmFsVXJiYW5vX21hc19hY2NpZGVudGVzJFJVdG90YWxfYWNjaWRlbnRlcw0KDQpmaWcxIDwtIHBsb3RfbHkodHlwZT0ncGllJywgbGFiZWxzPWxhYmVscywgdmFsdWVzPXZhbHVlcywgDQogICAgICAgICAgICAgICB0ZXh0aW5mbz0nbGFiZWwrcGVyY2VudCcsDQogICAgICAgICAgICAgICBpbnNpZGV0ZXh0b3JpZW50YXRpb249J3JhZGlhbCcpDQpmaWcxIDwtIGZpZzEgJT4lIGxheW91dCh0aXRsZSA9ICdBY2NpZGVudGVzIHBvciBydXRhIGVudHJlIDIwMTYtMjAyMicpDQpmaWcxDQpgYGANCkVuIGVzdGUgZ3LDoWZpY28gZGUgcGFzdGUgc2UgbXVlc3RyYSBlbCBwb3JjZW50YWplIGRlIGxvcyBhY2NpZGVudGVzIGVudHJlIGVsIDIwMTYtMjAyMiBwb3IgdGlwbyBkZSBydXRhLiBTZSBwdWVkZSBhcHJlY2lhciBxdWUgZWwgbWF5b3IgcG9yY2VudGFqZSBkZSBhY2NpZGVudGVzIGVuIGVsIGludGVydmFsbyBkZSBhw7FvcyBzZSBoYSBkYWRvIGVuIHJ1dGFzIHVyYmFuYSwgZXNvIHF1aXrDoSB0ZW5nYSBxdWUgdmVyIGVuIHBhcnRlIHBvcnF1ZSBoYXkgbWVub3MgdHLDoW5zaXRvIGVuIHJ1dGFzIHJ1cmFsZXMuIENvbiBsbyBhbnRlcmlvciBlbiBjdWVudGEsIHRhbWJpw6luIHB1ZWRlIHNlciBxdWUgcG9ycXVlIGhheSBtZW5vcyBjYW50aWRhZCBkZSB0csOhbnNpdG8gaGF5YW4gbWVub3MgZmFjdG9yZXMgcHNpY29lbW9jaW9uYWxlcyBxdWUgYWZlY3RlbiBhbCBtb21lbnRvIGRlIGNvbmR1Y2lyLg0KYGBge3IsZWNobz1GQUxTRX0NCiN5ID1taWRlcGxhbiB4PSBjYW50b24NCiN0ZW5lciBjYW50b24gY29uIG1hcyB5IG1lbm9zIGFjY2lkZW50ZXMNCnJlZ2lvbl9jYW50b25fbWFzX2FjY2lkZW50ZXM8LWRhdGElPiUNCiAgZ3JvdXBfYnkoUmVnacOzbi5NaWRlcGxhbiwgQ2FudMOzbiklPiUNCiAgc3VtbWFyaXNlKFJDdG90YWxfYWNjaWRlbnRlcyA9IG4oKSwuZ3JvdXBzID0gImRyb3AiKQ0KDQpyZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzPC1yZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzJT4lDQogIGdyb3VwX2J5KFJlZ2nDs24uTWlkZXBsYW4sIENhbnTDs24pJT4lDQogIHN1bW1hcmlzZShtYXhfdmFsb3IgPSBtYXgoUkN0b3RhbF9hY2NpZGVudGVzKSwuZ3JvdXBzID0gImRyb3AiKSU+JQ0KICBhcnJhbmdlKG1heF92YWxvcikNCg0KIyBOw7ptZXJvIGRlIGNvbG9yZXMgZGVzZWFkbw0Kbl9jb2xvcmVzIDwtIDE3Ng0KDQojIEdlbmVyYXIgbGEgcGFsZXRhIGRlIGNvbG9yZXMNCg0KcGFsZXRhX2NvbG9yZXMgPC1yYWluYm93X2hjbChuX2NvbG9yZXMpICMgRWplbXBsbyBkZSBjb2xvcmVzIGJhc2UNCmBgYA0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KDQpmaWcgPC0gcGxvdF9seShyZWdpb25fY2FudG9uX21hc19hY2NpZGVudGVzLCB4ID0gflJlZ2nDs24uTWlkZXBsYW4sIHkgPSB+bWF4X3ZhbG9yLCBtYXJrZXIgPSBsaXN0KGNvbG9yPXBhbGV0YV9jb2xvcmVzKSAsIHR5cGUgPSAnYmFyJyxob3ZlcnRlbXBsYXRlID0gfnBhc3RlKCJSZWdpw7NuOiAiLCBSZWdpw7NuLk1pZGVwbGFuLCAiPGJyPkNhbnTDs246ICIsIENhbnTDs24sICI8YnI+VmFsb3I6ICIsIG1heF92YWxvciwNCiAgICAgICI8ZXh0cmE+PC9leHRyYT4iKSkNCg0KZmlnIDwtIGZpZyAlPiUgbGF5b3V0KHlheGlzID0gbGlzdCh0aXRsZSA9ICcnKSx4YXhpcz1saXN0KHRpdGxlID0gJycpLCBiYXJtb2RlID0gJ3N0YWNrJykNCg0KZmlnDQpgYGANCkVudHJlIDIwMTYtMjAyMiwgbGEgZ3LDoWZpY2EgYXBpbGFkYSBkZSBiYXJyYXMgbXVlc3RyYSBxdWUgbGFzIGJhcnJhcyBlc3TDoW4gYWdydXBhZGFzIHBvciByZWdpw7NuIHkgYXBpbGFkYXMgcG9yIGNhbnRvbmVzIGNvbiBtYXlvciBuw7ptZXJvIGRlIGFjY2lkZW50ZXMuIEVsIGNvbG9yIGluZGljYSBjdcOhbnRvcyBhY2NpZGVudGVzIGh1Ymllcm9uIGVuIGNhZGEgY2FudMOzbi4gRW4gbGEgem9uYSBkZSBDb3N0YSBSaWNhLCBkb25kZSBtw6FzIGFjY2lkZW50ZXMgb2N1cnJpZXJvbiwgbGEgcmVnacOzbiBjZW50cmFsIHkgZWwgY2FudMOzbiBkZSBTYW4gSm9zw6kgdGllbmVuIGVsIG1heW9yIG7Dum1lcm8gZGUgYWNjaWRlbnRlcy4gQWRlbcOhcywgbG9zIGNhbnRvbmVzIHF1ZSBjb21wYXJ0ZW4gbcOhcyBhY2NpZGVudGVzIHNvbiBsb3MgbcOhcyBkZXNhcnJvbGxhZG9zIHVyYmFuYW1lbnRlLCBtaWVudHJhcyBxdWUgbG9zIGNhbnRvbmVzIGNvbiBtZW5vcyBhY2NpZGVudGVzIHNvbiBsb3MgbcOhcyBwb2JyZXMgbyBtZW5vcyBkZXNhcnJvbGxhZG9zLiBFc3RvIHNlIHBvZHLDrWEgZGViZXIgYSBxdWUgaGF5IG1lbm9zIHZlaMOtY3Vsb3MgZW4gY2FycmV0ZXJhLCBwb3IgbGEgZmFsdGEgZGUgcG9kZXIgYWRxdWlzaXRpdm8uDQpgYGB7ciwgZWNobyA9IEZBTFNFfQ0KYW5pb0NURzwtZGF0YSAlPiUNCiAgZ3JvdXBfYnkoQcOxbyxUaXBvLmRlLmNpcmN1bGFjacOzbixFc3RhZG8uZGVsLnRpZW1wbyxDbGFzZS5kZS5hY2NpZGVudGUpICU+JQ0KICBzdW1tYXJpc2UoTnVtZXJvQWNjaWRlbnRlcz1uKCksLmdyb3Vwcz0iZHJvcCIpDQoNCmFuaW9DVEc8LWFuaW9DVEclPiUNCiAgZ3JvdXBfYnkoQcOxbyxUaXBvLmRlLmNpcmN1bGFjacOzbixFc3RhZG8uZGVsLnRpZW1wbyxDbGFzZS5kZS5hY2NpZGVudGUpJT4lDQogIHN1bW1hcmlzZShBY2NpZGVudGVzID0gbWluKE51bWVyb0FjY2lkZW50ZXMpLC5ncm91cHMgPSAiZHJvcCIpJT4lDQogIGFycmFuZ2UoQWNjaWRlbnRlcykNCmFuaW9DVEc8LWFuaW9DVEclPiUNCiAgcmVuYW1lKENpcmN1bGFjaW9uID0gVGlwby5kZS5jaXJjdWxhY2nDs24pJT4lDQogIHJlbmFtZShDbGltYSA9IEVzdGFkby5kZWwudGllbXBvKSU+JQ0KICByZW5hbWUoR3JhdmVkYWQgPSBDbGFzZS5kZS5hY2NpZGVudGUpDQoNCmFuaW9DVEckQcOxbzwtc3Vic3RyKGFuaW9DVEckQcOxbywgc3RhcnQgPSAzLCBzdG9wID0gbmNoYXIoYW5pb0NURyRBw7FvKSkNCiNlbGltaW5vIGVsIDIwIGRlbCBhw7FvIHBhcmEgcXVlIHNlYSBtZWpvciBsYSByZXNwcmVzZW50YWNpw7NuIHRleHR1YWwNCiNvIHNlYSBlbiB2ZXogZGUgMjAxNiBzYWxlIDE2DQpgYGANCg0KYGBge3IsZWNobz1GQUxTRX0NCmZhY2VJbnRlcmFjdGl2byA8LSBnZ3Bsb3QoYW5pb0NURywgYWVzKHg9Q2lyY3VsYWNpb24sIHk9QWNjaWRlbnRlcywgY29sb3I9Q2xpbWEsIGdyb3VwPUdyYXZlZGFkKSkgKw0KICAgIGdlb21fcG9pbnQoKSsNCiAgICBsYWJzKHg9IlRpcG8gZGUgY2lyY3VsYWNpw7NuIix5PSJDYW50aWRhZCBhY2NpZGVudGVzIixjb2xvdXI9IiBFc3RhZG8gZGVsIGNsaW1hIikrDQogIHNjYWxlX3lfY29udGludW91cyhsaW1pdHMgPSBjKDAsIDI2MDApLCBicmVha3MgPSBjKDAsIDI2MDApKSsNCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAtNDUsIGhqdXN0ID0gMCksYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoYW5nbGU9MTIpKSsNCiAgICBmYWNldF9ncmlkKEHDsW8gfiAuLCBzY2FsZSA9ICJmcmVlX3giLHNwYWNlID0gImZyZWUiKQ0KICAgIA0KDQpnZ3Bsb3RseShmYWNlSW50ZXJhY3Rpdm8pDQpgYGANCkVzdGEgZ3LDoWZpY2EgbXVlc3RyYSBlbCBtw61uaW1vIGRlIGFjY2lkZW50ZXMgcG9yIGHDsW8sIHRpcG8gZGUgY2lyY3VsYWNpw7NuLCBlc3RhZG8gZGVsIGNsaW1hIHkgc29uIGFncnVwYWRvcyBwb3IgbGEgZ3JhdmVkYWQgZGVsIGFjY2lkZW50ZS4gTGEgbWF5b3LDrWEgZGUgbG9zIGFjY2lkZW50ZXMgY3VyaW9zYW1lbnRlIHNlIGRhbiBjb24gYnVlbiB0aWVtcG8sIGNvbnRyYXJpYW1lbnRlIGEgbG8gcXVlIHNlIGVzcGVyYXLDrWEgcXVlIHNlYSBtw6FzIGJpZW4gZW4gdW4gbWFsIGNsaW1hIGNvbW8gbGEgbGx1dmlhLiBFc3RvIHF1aWVyZSBkZWNpciBxdWUgc2kgaGF5IHVuIGJ1ZW4gY2xpbWEgbG9zIGNvbmR1Y3RvcmVzIHNlIHJlbGFqYW4geSBubyBhbmRhbiBsbyBzdWZpY2llbnRlbWVudGUgYXRlbnRvcyBhbCBhbWJpZW50ZS4gRXN0byB0aWVuZSB1biBlZmVjdG8gaW5tZWRpYXRvIGNvbiBlbCB0aXBvIGRlIGNpcmN1bGFjacOzbiwgeWEgcXVlIGFsIG5vIHRvbWFyIGxhIHN1ZmljaWVudGUgcHJlY2F1Y2nDs24gc2UgdGVybWluYW4gYWNjaWRlbnRhbmRvLCB5IGVzdG9zIGVuIHN1IG1heW9yw61hIHNvbiBkZSBleHRyZW1hIGdyYXZlZGFkLg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCiMgQ2FsY3VsYXIgbGEgY2FudGlkYWQgZGUgYWNjaWRlbnRlcyBwb3IgYcOxbw0KZnJlY3VlbmNpYV9hw7FvIDwtIHRhYmxlKGRhdGEkQcOxbykNCg0KIyBDcmVhciB1biBmcmFtZSBkZSBkYXRvcyBjb24gbGEgZnJlY2llbmNhIHkgZWwgYcOxbw0KZGF0b3NfZnJlY3VlbmNpYV9hw7FvIDwtIGRhdGEuZnJhbWUoDQogIEHDsW8gPSBuYW1lcyhmcmVjdWVuY2lhX2HDsW8pLA0KICBBY2NpZGVudGVzID0gYXMubnVtZXJpYyhmcmVjdWVuY2lhX2HDsW8pDQopDQoNCiMgQ3JlYXIgZWwgZ3JhZmljbyBjb24gdW4gcHVudG8gcG9yIGNhZGEgYcOxbw0KcHVudG9zX2HDsW8gPC0gZ2dwbG90KGRhdG9zX2ZyZWN1ZW5jaWFfYcOxbywgYWVzKHggPSBBw7FvLCB5ID0gQWNjaWRlbnRlcywgY29sb3IgPSBBw7FvKSkgKw0KICBnZW9tX3BvaW50KHNpemUgPSA1KSArDQogIHNjYWxlX3hfZGlzY3JldGUoYnJlYWtzID0gTlVMTCkgKw0KICBsYWJzKHkgPSAiIyBkZSBhY2NpZGVudGVzIiwgDQogICAgICAgdGl0bGUgPSAiQ2FudGlkYWQgZGUgYWNjaWRlbnRlcyBwb3IgYcOxbyIpICsNCiAgdGhlbWUoYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpLA0KICAgICAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkNCg0KcHVudG9zX2HDsW9zX2ludGVyYWN0aXZhIDwtIGdncGxvdGx5KHB1bnRvc19hw7FvKQ0KYGBgDQoNCmBgYHtyLCBlY2hvID0gRkFMU0V9DQpiYXJyYXNfaG9yYSA8LSBnZ3Bsb3QoZGF0YSwgYWVzKHggPSBIb3JhLnJlY29kaWZpY2FkYSwgZmlsbCA9IEhvcmEucmVjb2RpZmljYWRhKSkgKw0KICBnZW9tX2JhcigpICsNCiAgbGFicyh0aXRsZSA9ICJBY2NpZGVudGVzIHBvciBhw7FvIHkgcG9yIEhvcmEgcmVjb2RpZmljYWRhIiwNCiAgICAgICB4ID0gIkhvcmEgUmVjb2RpZmljYWRhIiwgeSA9ICIjIGRlIGFjY2lkZW50ZXMiLCBmaWxsID0gIkHDsW8gLyBSYW5nbyBob3JhcmlvIikgKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSkNCg0KYmFycmFzX2hvcmFfaW50ZXJhY3RpdmEgPC0gZ2dwbG90bHkoYmFycmFzX2hvcmEpDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmJhcnJhc190aXBvX2NsYXNlIDwtIGdncGxvdChkYXRhLCBhZXMoeCA9IFRpcG8uZGUuYWNjaWRlbnRlLCBmaWxsID0gQ2xhc2UuZGUuYWNjaWRlbnRlKSkgKw0KICBnZW9tX2JhcigpICsNCiAgbGFicyh0aXRsZSA9ICJUaXBvcyBkZSBoZXJpZG9zIHBvciB0aXBvIGRlIGFjY2lkZW50ZSBlbnRyZSAyMDE2LTIwMjIiLA0KICAgICAgIHggPSAiVGlwbyBkZSBhY2NpZGVudGUiLCB5ID0gIiMgZGUgYWNjaWRlbnRlcyIsIGZpbGwgPSAiVGlwbyBkZSBoZXJpZG9zIikgKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDMxNSwgaGp1c3QgPSAwKSkNCg0KZ2dwbG90bHkoYmFycmFzX3RpcG9fY2xhc2UpDQpgYGANCg0KYGBge3IsZWNobz1GQUxTRX0NCmRhdG9zX211bHRpZGltZW5zaW9uYWxlczwtZGF0YSU+JQ0KICBmaWx0ZXIoZ3JlcGwoIl5bMS03XVxcLihEb21pbmdvfEx1bmVzfE1hcnRlc3xNacOpcmNvbGVzfEp1ZXZlc3xWaWVybmVzfFPDoWJhZG8pJCIsIETDrWEpKSAlPiUNCiAgZ3JvdXBfYnkoSG9yYS5yZWNvZGlmaWNhZGEsRMOtYSxFc3RhZG8uZGVsLnRpZW1wbyxUaXBvLmRlLmNhbHphZGEsVGlwby5kZS5jaXJjdWxhY2nDs24pJT4lDQogIHN1bW1hcmlzZShhY2NpZGVudGVzPW4oKSwuZ3JvdXBzID0gImRyb3AiKQ0KDQpkYXRvc19tdWx0aWRpbWVuc2lvbmFsZXMkRMOtYSA8LSBnc3ViKCJbMS03XVxcLiIsICIiLCBkYXRvc19tdWx0aWRpbWVuc2lvbmFsZXMkRMOtYSkNCiAgDQpgYGANCg0KDQpgYGB7cixlY2hvPUZBTFNFfQ0KYXhpcyA9IGxpc3Qoc2hvd2xpbmU9RkFMU0UsDQogICAgICAgICAgICB6ZXJvbGluZT1GQUxTRSwNCiAgICAgICAgICAgIGdyaWRjb2xvcj0nI2ZmZmYnLA0KICAgICAgICAgICAgdGlja2xlbj0xKQ0KDQptYXRyaXpEIDwtIGRhdG9zX211bHRpZGltZW5zaW9uYWxlcyAlPiUNCiAgcGxvdF9seSgpIA0KbWF0cml6RCA8LSBtYXRyaXpEICU+JQ0KICBhZGRfdHJhY2UoDQogICAgdHlwZSA9ICdzcGxvbScsDQogICAgZGltZW5zaW9ucyA9IGxpc3QoDQogICAgICBsaXN0KGxhYmVsPSdEw61hJyx2YWx1ZXM9fkTDrWEpLA0KICAgICAgbGlzdChsYWJlbD0nVHLDoW5zaXRvJyx2YWx1ZXM9flRpcG8uZGUuY2lyY3VsYWNpw7NuKSwNCiAgICAgIGxpc3QobGFiZWw9J0hvcmEnLHZhbHVlcz1+SG9yYS5yZWNvZGlmaWNhZGEpLA0KICAgICAgbGlzdChsYWJlbD0nVsOtYScsdmFsdWVzPX5UaXBvLmRlLmNhbHphZGEpLA0KICAgICAgbGlzdChsYWJlbD0nQ2xpbWEnLHZhbHVlcz1+RXN0YWRvLmRlbC50aWVtcG8pDQogICAgKQ0KICApDQptYXRyaXpEIDwtIG1hdHJpekQgJT4lDQogIGxheW91dCgNCiAgICB0aXRsZT0gJ0FjY2lkZW50ZXMgZGVsIDIwMTYtMjAyMiBldmFsdWFuZG8gZGlzdGludG9zIGZhY3RvcmVzJywNCiAgICBob3Zlcm1vZGU9J2Nsb3Nlc3QnLA0KICAgIGRyYWdtb2RlPSAnc2VsZWN0JywNCiAgICBwbG90X2JnY29sb3I9J3JnYmEoMjQwLDI0MCwyNDAsIDAuOTUpJywNCiAgICB4YXhpcz1saXN0KGRvbWFpbj1OVUxMLCBzaG93bGluZT1GLCB6ZXJvbGluZT1GLCBncmlkY29sb3I9JyNmZmZmJywgdGlja2xlbj00KSwNCiAgICB5YXhpcz1saXN0KGRvbWFpbj1OVUxMLCBzaG93bGluZT1GLCB6ZXJvbGluZT1GLCBncmlkY29sb3I9JyNmZmZmJywgdGlja2xlbj00KSwNCiAgICB4YXhpczI9YXhpcywNCiAgICB4YXhpczM9YXhpcywNCiAgICB4YXhpczQ9YXhpcywNCiAgICB5YXhpczI9YXhpcywNCiAgICB5YXhpczM9YXhpcywNCiAgICB5YXhpczQ9YXhpcw0KICApDQoNCm1hdHJpekQgPC0gbWF0cml6RCAlPiUNCiAgbGF5b3V0KA0KICB4YXhpcyA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB4YXhpczIgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeGF4aXMzID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCksDQogIHhheGlzNCA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB4YXhpczUgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXMgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXMyID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCksDQogIHlheGlzMyA9IGxpc3QodGlja3ZhbHMgPSBOVUxMLCB0aWNrdGV4dCA9IE5VTEwpLA0KICB5YXhpczQgPSBsaXN0KHRpY2t2YWxzID0gTlVMTCwgdGlja3RleHQgPSBOVUxMKSwNCiAgeWF4aXM1ID0gbGlzdCh0aWNrdmFscyA9IE5VTEwsIHRpY2t0ZXh0ID0gTlVMTCkNCikNCm1hdHJpekQNCg0KDQpgYGANCg0KYGBge3IsIGVjaG8gPSBGQUxTRX0NCmdyYWZpY2FfZGVfZ3JhZmljYXMgPC0gc3VicGxvdChwdW50b3NfYcOxb3NfaW50ZXJhY3RpdmEsIGJhcnJhc19ob3JhX2ludGVyYWN0aXZhLCBucm93cyA9IDIpDQoNCmdyYWZpY2FfZGVfZ3JhZmljYXMNCmBgYA==